/**
 * 
 */
package actions;

/**
 * @author setian
 * 
 */
public class MiRadio implements IRadio {

	private double sintonizarFM = 87.9;
	private double sintonizarAM = 530;
	private String frecuencia = FM;
	private boolean pwrStatus = false;
	private float btnPresetFM[] = new float[12];
	private float btnPresetAM[] = new float[12];

	public void cambiarEmisora(boolean adelante) {
		if (frecuencia.equals(FM))
			if (adelante)
				if (sintonizarFM < 107.9)
					sintonizarFM += 0.2;
				else
					sintonizarFM = 87.9;
			else if (sintonizarFM > 87.9)
				sintonizarFM -= 0.2;
			else
				sintonizarFM = 107.9;
		else if (frecuencia.equals(AM))							
			if (adelante)
				if (sintonizarAM < 1610)
					sintonizarAM += 10;
				else
					sintonizarAM = 530;
			else if (sintonizarAM > 530)
				sintonizarAM -= 10;
			else
				sintonizarAM = 1610;
	}

	public void cambiarFrecuencia() {
		frecuencia = (frecuencia.equals(FM)) ? AM : FM;
	}

	public float darEmisora() {
		return (float) ((frecuencia.equals(FM)) ? sintonizarFM : sintonizarAM);
	}

	public String darFrecuencia() {
		return frecuencia;
	}

	public void energia() {
		pwrStatus = (pwrStatus) ? false : true;
	}

	public boolean estaEncendido() {
		return pwrStatus;
	}

	public void guardarEmisora(int boton, float emisora) {
		if (frecuencia.equals(FM))
			btnPresetFM[boton] = emisora;
		else
			btnPresetAM[boton] = emisora;
	}

	public void seleccionarEmisora(int boton) {
		if (frecuencia.equals(FM))
			sintonizarFM = (btnPresetFM[boton] != 0) ? btnPresetFM[boton] : 87.9;
		else
			sintonizarAM = (btnPresetAM[boton] != 0) ? btnPresetAM[boton] : 530;
	}
}
